
package com.platform.modules.mall.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.platform.modules.mall.entity.MallAssociTagEntity;

import java.util.List;
import java.util.Map;

/**
 * 店铺或者商品的标签Service接口
 *
 * @author 
 * @date 2022-07-06 11:08:16
 */
public interface MallAssociTagService extends IService<MallAssociTagEntity> {

    /**
     * 获取关联的标签信息
     * @param associId
     */
    List<MallAssociTagEntity> getByAssoci(String associId);

//    /**
//     * 关联的信息变更
//     * @param otherId
//     */
//    void otherInfoChange(String otherId,int type);

    /**
     * 添加根据商品属性添加标签
     * @param associId
     * @param otherId
     * @return
     */
    boolean delateByOtherId(String otherId,String... associId);

    /**
     * 添加根据商品属性添加标签
     * @param associId
     * @param otherId
     * @return
     */
    boolean delateByAssoci(String associId,String... otherId);

//    /**
//     * 添加根据商品属性添加标签
//     * @param associId
//     * @param activityEntity
//     * @return
//     */
//    boolean addActivityAssoci(String associId, MallActivityEntity activityEntity);

//    /**
//     * 添加根据商品属性添加标签
//     * @param associId
//     * @param goodsId
//     * @return
//     */
//    boolean addGoodsAssoci(String associId,String goodsId);

    /**
     * 查询所有列表
     *
     * @param params 查询参数
     * @return List
     */
    List<MallAssociTagEntity> queryAll(Map<String, Object> params);

    /**
     * 分页查询店铺或者商品的标签
     *
     * @param params 查询参数
     * @return Page
     */
    Page queryPage(Map<String, Object> params);

    /**
     * 新增店铺或者商品的标签
     *
     * @param mallAssociTag 店铺或者商品的标签
     * @return 新增结果
     */
    boolean add(MallAssociTagEntity mallAssociTag);

    /**
     * 根据主键更新店铺或者商品的标签
     *
     * @param mallAssociTag 店铺或者商品的标签
     * @return 更新结果
     */
    boolean update(MallAssociTagEntity mallAssociTag);

    /**
     * 根据主键删除店铺或者商品的标签
     *
     * @param id id
     * @return 删除结果
     */
    boolean delete(String id);

    /**
     * 根据主键批量删除
     *
     * @param ids ids
     * @return 删除结果
     */
    boolean deleteBatch(String[] ids);
}
